<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        //1.promise  代表异步操作 他是构造函数new promise
        //2.在new promise() ,传递一个实参,实参是回调函数 此函数 会立即执行
        //3.在回调函数 中写异步代码 
        //4.promise 的原型上面方法 被实例调用 then  错误穿透catch finally
        //里面的回调函数 都是 事件循环eveneloop的微任务
        //5.then 方法 第一个参数会传递 给 resolve ,第二个函数参数会传递给reject

        //promise的实例状态\
        //1.pending等待
        //2.fulfilled  成功
        //3.失败reject
         let p=new Promise(function(resolve,reject){
             //异步代码
             //成功 resolve
             //不成功reject

         })
         .then()
         .catch()


         //Promise静态方法
         //将方法挂载到函数上,这个方法被称为静态方法
        console.log(  p.resolve );
          console.log( p.reject);

//async_await 是解决回调地狱 终极解决方案
//语法: 声明异步函数  解决异步函数 的 返回值问题
//返回值 永远是 promise  实例

//没有return undefined
//有 return 普通数据 
//有return promise 
//async function test(){ 
    // await 一般跟promise 

// }

    </script>
</body>
</html>